با سلام خدمت شما بازديدكننده گرامي ، خوش آمدید
به سایت من . لطفا براي هرچه بهتر شدن مطالب اين
وب سایت ، ما را از نظرات و پيشنهادات خود آگاه سازيد
و به ما را در بهتر شدن كيفيت مطالب ياري کنید.
مهارت های پایه ای برای هکر شدن منش هکر حیاتی است اما مهارت او حیاتی تر است. منش جایگزین مهارت نمی گردد و مجموعه مهارت های پایه ای خاصی وجود دارند که باید در خود بپرورانید تا هکرها شما را هکر بنامند. این ابزار به آرامی تغییر میکند با گذشت زمان تکنولوژی مهارت های جدیدی ایجادمی کند و قدیمی ها را بی مصرف میکند. مثلا در گذشته زبان ماشین شامل این مجموعه بود، در حالیکه HTML اخیرا به این مجموعه اضافه شده است. اما این مجموعه در حال حاضر مشخصأ شامل موارد زیر است:
۱ - بیاموزید که چگونه برنامه بنویسید. این مسلما پایه ای ترین مهارت هکر است. اگر شما هیچ زبان برنامه نویسی بلد نیستید، پیشنهاد می کنم با پیتون شروع کنید. پتیون تمیز طراحی شده است. به خوبی مستند سازی شده و تقریبأ ابتدایی است. با آنکه پتیون زبان اولیه خوبی است، یک اسباب بازی نیست. بلکه بسیار قدرتمند و قابل انعطاف است و مناسب پروژه های بزرگ. من یک مقاله مفصل تر در مورد انقلاب پیتون نوشته ام. خودآموزهای خوبی می توانید در وب سایت پیتون پیدا کنید.
جاوا زبان بسیار خوبی است البته بسیار مشکل تر از پیتون است، اما برنامه سریع تری ایجاد می کند و فکر می کنم انتخاب فوق العاده ای برای زبان دوم است . البته شما نمی توانید با دانستن تنها دو زبان به مهارتهای یک هکر و یا حتی یک برنامه نوبس خوب برسید. شما باید بدانید چگونه در مورد مشکلات برنامه نویسی، جدای از زبان برنامه نویسی فکر کنید. برای آنکه یک هکر واقعی شوید، باید به جایی برسید که بتوانید یک زبان جدید را در دو، سه روز یاد بگیرید. این نیازمند آن است که چندین زبان کاملأ متفاوت را یاد بگیرید.
اگر به صورت جدی به برنامه نویسی روی آورید، باید C زبان پایه ایUnix را یاد بگیرید. ++C بسیار شبیه C است؛ اگر شما یکی از آنها را یاد بگیرید، یادگرفتن دیگری مشکل نخواهد بود. اما هیچ کدام به عنوان زبان اول قابل یادگیری نیستند. در واقع، هر چقدر از برنامه نویسی به زبان C پرهیز کنید، بازده تان بیشتر خواهد بود.
C بسیار کاراست و منابع کامپیوتر را کمتر مصرف می کند. متأسفانه C این کارایی را با تلاش بسیار شما برای مدیریت سطح پائین منابع (مانند حافظه) بدست می آورد. این نوع برنامه نویسی سطح پائین بسیار پیچیده و باگ -دوست است و زمان بسیاری برای رفع اشکال (Debug) لازم دارد. با قدرت و سرعتی که کامپیوترهای امروز دارند این معامله خوبی نیست. تیز هوشانه تر است که از زبانی استفاده کنیم که زمان کامپیوتر را بیشتر می گیرد و زمان برنامه نویس را کمتر. مانند ، پیتون.
زبانهای دیگری هستند که ارزش خاصی برای هکرها دارند. http://www.perl.com/Perl به جهت دلایل کاربردی آن با ارزش است، به طور گسترده ای در طراحی صفحات فعال وب و مدیریت سیستم به کار گرفته شده است و حتی اگر شما هرگز با Perl برنامه ننوبسید، باید قادر به خواندن آن باشید. بسیاری از مردم از Perl در جایی استفاده می کنند که من پیتون را پیشنهاد کردم. برای اجتناب از برنامه نویسی C در جاهایی که نیاز به کارایی C ندارید. شما به فهمیدن کدهای Perl احتیاج خواهید داشت.
لیسپ (LISP)به دلایل دیگری ارزشمند است – برای روشن نگری عینی که پس از یادگیری آن بدست خواهید آورد . حتی اگر هیچگاه از لیسپ به طور جدی استفاده نکنید، مسلما یادگیری آن شما را برنامه نویس بهتری خواهد کرد. (شما می توانید مهارت های اولیه ی LISP را به راحتی بانوشتن و تغییر دادن Modها برای ویرایشگر متن Emacs کسب کنید)
حقیقتا بهتر است هر پنج زبان ( پیتون ، جاوا ، C/++C ، پرل و LISP) را یاد بگیرید. جدا از ارزشی که این زبانها برای هکرها دارند، آنان رویکردهای کاملا متفاوتی برای برنامه نویسی دارند که مسا ئل با ارزشی به شما یاد می دهند.
نمی توانم دستورالعمل خاصی برای یادگرفتن برنامه نویسی بدهم (کار پیچیده ای است)، اما می توانم بگویم که کتاب ها و کلاسها به شما کمک نخواهند کرد (اکثر هکرها خودشان یاد گرفته اند) شما می توانید روشهایی را از کتاب فراگیرید اما ساختار فکری که این روشها را به مهارت واقعی تبدیل می کند، تنها با تمرین و شاگردی کردن بدست می آید. وظایف شما شامل ۱) خواندن کد و ۲) نوشتن کد خواهد بود.
یادگیری زبان برنامه نویسی مانند یادگیری نوشتن یک زبان واقعی است. بهترین راه خواندن چیزهایی است که استادان امر نوشته اند و سپس نوشتن برنامه ای از خودتان است؛ بسیار بیشتر مطالعه کنید، کمی بیشتر بنویسید، بیشتر مطالعه کنید، بیشتر بنویسید.... و تا آنجا ادامه دهید که نوشته هایتان قدرت و صلابت کارهای استادتان را پیدا کند.
سابقا پیدا کردن کد خوب مشکل بود، برنامه های بزرگی که متن آنها در دسترس بود تا هکرها بخوانند و آزمایش کنند، بسیار محدود بود. اکنون این مسئله به طور قابل ملاحظه ای تغییر کرده است؛ اکنون نرم افزارها ابزارهای برنامه نوبسی و سیستمهای عامل بازمتن (که تماما بوسیله هکرها نوشته شده است) بسادگی قابل دسترس است - که مرا به نوشتن بخش بعد ترغیب می کند...
۲ - یکی از یونیکس های باز-متن را بگیرید و استفاده و اجرا کردن آن را بیاموزید. فرض می کنیم یک کامپیوتر شخصی دارید یا لااقل به آن دسترسی دارید (بچه های امروزی خیلی راحت به آن دسترسی دارند:-)). مهمترین قدم اولیه ای که هر مبتدی برای هکر شدن می تواند بردارد، گرفتن یک کپی از لینوکس (Linux) یا بی اس دی-یونیکس (BSD-Unix)؛ نصب کردن آن روی کامپیوتر شخصی و اجرای آن است.
بله ، سیستم عاملهای فراوانی در کنار یونیکس وجود دارد. اما تمام آنها به صورت باینری توزیع می شوند و شما قادر به خواندن و تغییر کد آن نیستید. تلاش برای ایجاد تغییر بر روی یک کامپیوتر داس یا ویندوز یا MacOS مانند این است که بخواهید در لباس شوالیه رقص بیاموزید.
تحت OS/X این کار ممکن است ، اما فقط بخشی از این سیستم بازمتن است. شما به موانع بسیاری برخورد خواهید کرد و باید مواظب باشید تا عادت بد تکیه بر کد اختصاصی اپل را در خود توسعه ندهید. در صورتی که بر روی یونیکس ها تمرکز کنید، چیزهای مفیدتری فراخواهید گرفت.
یونیکس سیستم عامل اینترنت است. اگر اینترنت را بدون یونیکس یاد می گیرید، هیچ وقت نمی توانید یک هکر اینترنت باشید. به این خاطر فرهنگ هکر امروز کاملأ یونیکس-محور است. (این مطلب همیشه صادق نبوده است . بسیاری از هکرهای با سابقه از این موضوع رضایت ندارند اما پیوند محکم یونیکس و اینترنت آنچنان قوی است که حتی قدرت شیطانی مایکروسافت نیز نتوانسته است خلل چندانی در آن ایجادکند.)
پس یک یونیکس نصب کنید. من به شخصه لینوکس را دوست دارم اما راههای دیگری هم وجود دارد ( بله! شما می توانید مایکروسافت ویندوز و Linux رابا هم داشته باشید). یاد بگیرید، اجرا کنید، ور بروید، کدهایش را بخوانید و تغییرشان دهید. ابزار برنامه نویسی بهتری در اختیار خواهید داشت، مانند C , LISP , Python و Perl که در سیستم عامل ویندوز خواب داشتن آن ها را می بیند. بسیار جذاب و سرگرم کننده خواهد بود و آنچنان در دانش غرق میشوید که حتی متوجه آن نمی شوید تا هنگامیکه به مانند یک استاد هکر به پشت سرتان بنگرید!
برای اطلاعات بیشتر درباره ی یادگیری Unix به The Loginataka نگاه کنید. همین طور شمامی توانید نگاهی بهThe Art Of Unix Programing (هنر برنامه نویسی در یونیکس) بیاندازید.
برای آن که چیز هایی از لینوکس دست گیرتان شود به سایت Linux Online بروید؛ شما می توانید از آن جا دانلود کنید یا (ایده ی بهتر) یک گروه کاربران لینوکس محلی پیدا کنید تا به شما در نصب لینوکس کمک کنند. از دیدگاه یک کاربر تازه کار تمام توزیع های لینوکس بسیار شبیه یکدیگرند.
شما می توانید راهنما و منابعBSD Unix را در سایت www.bsd.org پیدا کنید.
(توجه : من در حقیقت نصب کردن هیچ کدام از Linux یا BSDها را به طور خاص به شما توصیه کنم ، برای هر تازه کاری هر کدام از این ها یک پروژه ی انفرادی است. برای لینوکس، یک گروه کاربران لینوکس در محل خود پیدا کنید و از آنها برای کمک سوال کنید.) ۳ -استفاده از وب و نوشتن HTML را یاد بگیرید. بسیاری از چیزهایی که فرهنگ هک ساخته است خارج از افق دید شماست، کمک به کارخانه ها، دفاتر و دانشگاه ها بدون اینکه تأثیر مشخصی در زندگی غیر هکرها نداشته باشد. در این میان اینترنت یک استثناء عمده است، سرگرمی درخشان هکری که حتی به اعتراف سیاست مداران در حال تغییر دادن جهان است . تنها به همین خاطر (و همچنین بسیاری از دلایل مشابه دیگر) یاد گرفتن کار در اینترنت احتیاج دارید. این فقط به این معنی نیست که چگونه از یک مرورگر استفاده کنید(!) بلکه به معنی یادگیری HTML است . اگرهنوز برنامه نویسی یاد نگرفته اید، نوشتن HTML عادت های ذهنی را برایتان فراهم می کند که به یادگیری برنامه نویسی کمک می کند. پس برای خودتان یک Homepage درست کنید. سعی کنید از XHTML استفاده کنید که نسبت به HTML سنتی تمیزتر است.(منابع بسیار خوبی برروی وب برای تازه کارها وجوددارد؛ این یکی از آن هاست!)
اما نوشتن یک Homepage به هرحال آنقدر خوب نیست که شما را هکر کند. وب پر از Homepage است. بیشترشان بی ارزشند. لجن های بی محتوا، فضولات شیک، اما مطمئن باشید که لجن همیشه لجن است. (برای اطلاعات بیشتر صفحه یTheHTML Hell را ببینید.)
برای با ارزش بودن؛ Homepage تان باید محتوا داشته باشد و برای هکرهای دیگر جذاب و یا آموزنده باشد. تمام اینها شمارا به بخش بعد هدایت می کند... ۴ -اگر انگلیسی بلد نیستید آن رایاد بگیرید. به عنوان یک آمریکایی بخاطر آنکه زبان مادریم انگلیسی است قبلأ از ذکر این موضوع ناراحت بودم. حداقل این می تواند یک امپریالیسم فرهنگی تلقی گردد. ولی تعدادی از غیر انگلیسی زبانان از من خواستند که این موضوع را متذکر شوم که انگلیسی زبان فرهنگ هکر و اینترنت محسوب می گردد و شما احتیاج خواهید داشت که این زبان را یادبگیرید تا در جامعه هکرها فعال شوید.
این موضوع واقعیت دارد. حدود سال ۱۹۹۱ متوجه شدم که بسیاری از هکرها که انگلیسی زبان دومشان بود آن را برای بحث های تکنیکی شان بهره می گرفتند، حتی اگر زبان مادریشان یکی بود. به من اطلاع دادند که انگلیسی بعلت غنی تر بودن به لحاظ لغات فنی برای این کار مناسب تر است . به همین دلیل ترجمه متن های فنی که در زبان انگلیسی هستند، غالبا رضایت بخش نیست. لینوس توروالدز که یک فنلاندی است، کد خود را به زبان انگلیسی تشریح کرده است (و هرگز غیر از این روش، روش دیگری را پیش نگرفته است) تسلط بر انگلیسی، عامل مهمی در جمع کردن جامعه جهانی برنامه نویسان لینوکس بوده است. این مورد نمونه قابل ذکری در مورد نقش زبان انگلیسی است.